A homograph, as defined by Webster's Ninth New College Dictionary, is one of two or more words spelled alike but different in meaning or derivation and, sometimes having different pronunciation. For example, the word "bow" functions as a noun, meaning the front part of a ship, or, a decorative knot. The word "bow" also functions as a verb, meaning to bend. The noun and verb versions of the word "bow" have different pronunciations. Other examples of homographs which can function as either nouns or verbs with different pronunciations include words such as wind, defect, conduct, rebel, record, subject, etc. Generally, when reading text, the context of the text provides the reader with a basis for choosing the correct pronunciation of the homograph, however such a task is more difficult for speech synthesis systems.
Numerous advances have been achieved recently in speech synthesis technology, i.e., hardware and/or software capable of recreating the format and other vocal patterns required for intelligible human natural language. In particular, because of the large amount of memory required to store digitized speech, many computer based systems use text-to-speech conversion protocols. In these systems, the data to be synthesized is stored in binary form as text and, when necessary, converted to speech for presentation to listeners. Such systems reduce significantly the memory and overhead requirements in synthesizing speech. U.S. Pat. No. 3,704,345, Coker et al., discloses an early text-to-speech system. U.S. Pat. No. 5,157,759, Bachenko discloses a written language parser for a text-to-speech system used to provide properly placed pauses and emphasis in the synthesized words. In many synthesized speech systems homographs are generally ignored, with one pronunciation generated for all instances of a word regardless of the context. Some systems have attempted to alleviate the complexities created by homographs by using a full natural language parser. Unfortunately, the complexity of such a parser is not practical due to the memory and processing overhead required to execute the parser in conjunction with speech generation. Accordingly, a need exists for a method of increasing the probability the homographs are pronounced correctly within a speech synthesis system which may be implemented with as little programming code as possible. Further, a need exists for a means for increasing the probability that such homographs are pronounced correctly which does not significantly reduce the response time of the speech synthesis system. An additional need exists for a way to increase the probability the homographs are pronounced correctly in a speech synthesis environment which does not require significant amounts of system memory.
It is therefore an object of the present invention to provide a homograph filter which increases the probability of correctly pronouncing homographs in a speech synthesis environment which has both a fast response time and requires less code overhead and system memory.